package com.rimi.listener;

import com.rimi.bean.User;

import javax.servlet.*;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import java.util.Set;

/**
 * @author chengliang
 * 创建时间 2020/3/24 16:26
 */
public class TestSessionListener implements HttpSessionListener{
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        System.out.println("创建了一个新的Session对象");
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        Object object = se.getSession().getAttribute("user");
        ServletContext servletContext = se.getSession().getServletContext();
        Set<User> onlineUser = (Set<User>) servletContext.getAttribute("onlineUser");
        onlineUser.remove(object);
        servletContext.setAttribute("onlineUser",onlineUser);
    }







    //    @Override
//    public void sessionCreated(HttpSessionEvent se) {
//        //session已经创建
//    }
//
//    @Override
//    public void sessionDestroyed(HttpSessionEvent se) {
//        //session已经销毁
//    }

    //    @Override
//    public void requestDestroyed(ServletRequestEvent sre) {
//        //已经销毁
//    }
//
//    @Override
//    public void requestInitialized(ServletRequestEvent sre) {
//        //已经初始化
//    }


//    @Override
//    public void attributeAdded(ServletRequestAttributeEvent srae) {
//        //属性已经添加
//    }
//
//    @Override
//    public void attributeRemoved(ServletRequestAttributeEvent srae) {
//        //属性已经删除
//    }
//
//    @Override
//    public void attributeReplaced(ServletRequestAttributeEvent srae) {
//        //属性已经修改、替换
//    }
}
